其他
截断坐标轴后,你还想留更多的白?
library(ggplot2)
library(ggbreak)
library(patchwork)
set.seed(2019-01-19)
d <- data.frame(x = 1:20,
y = c(rnorm(5) + 4, rnorm(5) + 20, rnorm(5) + 5, rnorm(5) + 22)
)
p1 <- ggplot(d, aes(y, x)) + geom_col(orientation="y")
p1 + scale_x_break(c(7, 17))
代码大家不陌生,出来图也是符合大家的期望的,这是长这样子的:
中间的间隔是默认调很小的,因为大部分人是不会调的,而且需求就应该是比较小。但默认这个你可能觉得太小,截断的位置显示得不明显,所以你想搞大它?好像不太容易吧。
现在就是想搞大一点,该怎么搞呢?我们截得断坐标轴,当然搞大得了空隙,那么我们在ggbreak 0.0.8版本中引入了space参数,这个版本已经在cran上了,升级一下,即可拥有,它适用于scale_x_break(), scale_y_break(), scale_x_cut()和scale_y_cut()几个函数,默认是0.1,单位是cm,单位是写死的,所以你调数字就行。
p1 + scale_x_break(c(7, 17), space=1)
调来看看,出图如下:
再来个用cut的例子:
library(ggplot2)
library(ggbreak)
set.seed(2019-01-19)
d <- data.frame(
x = 1:20,
y = c(rnorm(5) + 4, rnorm(5) + 20, rnorm(5) + 5, rnorm(5) + 22)
)
p <- ggplot(d, aes(x, y)) + geom_col()
p + scale_y_cut(breaks=c(7, 18), which=c(1, 3), scales=c(3, 0.5), space=.5)
点击图片,了解一下ggbreak这个包,谁来把这个包的0引用给干掉?